WIP: register blocking refactoring