core: redesign cell/celldata to be more efficient