- fix premake args being incorrect - remove platform assumptions, making it portable - start with a best guess based on project layout - use fallback if not specified or not found - display errors/help if not found