rework subscription so retrying works when initial connection fails or service disconnects
built