add basic container interface