added a ton of code, began a cli interface