abstract host/user/password