Button refactoring