you can make button with GOF
refactor: make button with GOF