Quite a few updates. Not quite done. Also needing a UI.