implemented expression parsing