refactor:
create method to overwrite. 

new function:
password.

bug fix:
reject duplicate nickname.
Add test.

bug fix:
Message contains duplicate :