refactor parsing processes