p
separation of logic and CLI code
merge