refactoring some goods