base class and container class