It would be nice to have this class in a separate file.