inline some of the tap/doubleTap logic
polish