************************ Using user defined types ************************ .. todo:: Write