made engine a submodule