implemented ability to register a new user