Adding custom complex data types