add removeEventListener and will trigger callbacks when init