sliding touches now work with no edge case errors. Bit of refactoring.