dev

refactoring, added tests, added container item type.