refactored gesture regocnizer, reusing it is possible now