more buttons refactoring