db config should be taken from environment, but using `flag` was easier
explicit support for subcommands, separate backend library