add ! operator to expressions