actually generate a working project directory