create engine class