better errors for example if calling connect twice