reworked the touch framework