add data types, all tests pass