Register

Addresses #462 (3)
Addresses all of #460