slot refactoring