reduced exceptions, working putItemOnShelf and findShelfWithItem