Refactor to expose each data type separately.