added gesture functionality