Starting to think this shouldn't be a class