added preproc_func & bits