work on button layout and handle touchcancel