support for boxes (rectangles)
cleanups
example diagram