Fixes #4 - avoiding duplicate challenges
Fixes #2 - using UTF-8 for username and password encoding