Setup more parent child relationships, and cleanup of the parser with adding if, else, and elseif rather than have them in the parser directly.