Removing extra_block and refactoring base code.