touch, bunch of changes, this thing needs an overhaul