I think this class would be a lot more readable if it didn't contain two 60-ish line methods