Please update.

I've done a large refactor to make the code more manageable.

I've also added a json inport and export feature so the command need not be retrained before each use.