Button reffactoring