Added in a shop class, with inventory. Some refactoring