updating structure and docs, adding unit tests for all models, updating example uniformity