updates, documentation, tests