Modified to only include parsing functionality