fixed button listener