new user feature and unit tests