Refactoring + extra features (service reconnection)