refactoring for slab registration
merge