some implementations about the expression classes