need to add reconnect