refining derivitave data type