Implementing full registration flow