add data type to callback