Refactor shops and be less error-prone