returning and type casting support