why do we need this extra variable declared here? I would return the parser directly.