refactored buttons