updated preparser