Changed the engine
New engine
Merged master and fixed conflicts
Datastructure for Abstract Factory Pattern