updated pre process