new way to deal with touch input
fixed stuff