added username/password support