Button Refactoring