first very basic container implementation