improved container class