add preprocessing