Added the registration model and all of its functionality