added user registration functionality