separated packages for input and pre-processing