offer validator
validation in command invoker