better version updating in listener