finished refactoring front end, other planned features should be much easier to add now that the data (truth) is out of the dom