TouchButton is optional