working debounce button plus tested