update to use a data container