Added support for user defined input types.