takeoff must be called on main thread.