good working library and graphing