refactor models, fifth commit
update graphviz/writer.py to write attributes