two states work! and are more robust with button functionality