added container interface, updated classes and makefile accordingly