Added a CLI and a number of variations