preprocess now only typecasts for dataframe