create common container base class and refactor container classes to use it
implement tests for container base class