Adding new registration refactorization. haaaaaaands