Register handling fleshed out