Creating custom datatypes