added engine interface
added engine_head and engine_block classes implementing engine interface