reimplemented basic controls with new protocol