First step to decouple geometry generation, added a test project