I don't quite like this name, but I haven't come up with anything better.