refactored plot into a class, need to figure out a robust way to position the axes labels