fixed project generation + better caching