fix button listener