refactor. implement op.Arg(), op.ArgInt(), op.ArgString()