Removes username option and updates model option.

Signed-off-by: Todd Francis <todd@toddish.co.uk>
Adds validate code and exceptions.

Signed-off-by: Todd Francis <todd@toddish.co.uk>