Add support for lots of different types of data