add more put cli coverage, fix put command refactoring