Added multiple hosts. Better error handling. Better connection flow.