updated Engine class