cleanup unit test, add RE test
reduce constructor complexity
update diagram
update readme and history
Merge branch 'dev'