Finished code for version 2 initial release. Preparing master branch merge.