generates box, circles and arrows