Branch/kinetic touch

@eric79 
I never even got around to testing the touch, but these changes need to be made regardless
If you wanted to do this above with the *?* trinary operator, that might be cool, but I don't feel strongly about it.