refactor the through section to use singularize
handling polymorphic associations correctly!
all working now look acceptable. Maybe do something to the polymorphic extra thing
added ability to generate PDFs of the output graph
add ability to download PDF (I think)