implementing expr class