some more button refactoring