add operator chaining, change set_prec to add_prec