updated with button press/release