allow for different data formats