data pre-process