cleanup unit test, add RE test
reduce constructor complexity
update diagram
update readme and history