started introducing Val typedef