refactored shop logic