Documentation
Refactor.  Tests
update core (submodule)