Allow adding of new items, added unit tests, refactored unit tests