refactoring and documentation
added data model doc as graphviz dot file