circular references bugfix
dependency diagram
serialization fixes and simpler attribute naming