added tap recognizer and corresponding method