TODO add data types add collection types add typelist for representing models add test files create examples