implementing unit tests and a Container class
adding comments
adding some useful interfaces to the Container class