add op()
cleanups
upd version