added expression parsing