added optional parsers
removed parentheses and introduced 'IfElse' statements