make possible to handle user defined data type