add button callback and binding to events