more correct mouseListeners handling