added better handling for bad user/pass