implemented more preprocessing types