updated recursive descendant parser and split up code into multiple files.