cleaning up, adding more comprehensive states for when to end button press