Since graphing will be used a lot, find a good graph library and (probably) create a wrapper around it