add IEngine API, restore engine connecting behaviour