Refactor: use the same inerface of Actions