Engine class implementation