rejigging registration to better reflect how it actually works. Strengthening api