implement block expression parsing