add deferred message facility
refactoring
add cli
refactor cli
refactor cli
refactor cli