add symbolic manipulation