lots of button related fixes