Improvements and return if can't connect