refactor to add as_hash() method and recurse through child items
add add command to cli