introduce SourceTreeParser