add username/password support