Added container, along with some tests/refactoring