Added Guard
Created elements to handle different notations
Created parsers