this is awesome , how's the engine code is it procedural (which is expected) or OOP