renamed Resource to Item together with associated methods, refactored unit tests to throw appropriate exceptioins