Refactor pull parser