split into library module and CLI module
0.0.3