trade shop refactored