add list command
add switch command
add doc string comments to some functions