removed circular references from parser