added touch punch
added snapability