added unbind to prevent event duplication