Refactored quite a bit. Forced the Generic implementation of adding of items.