modified with gesture class