Added transformation functions
Added the main engine