implemented basic user registration