impl: generate project