supprt `service` argument
fix typo
operation check