use rect.contains instead of boolean to detect taps