Refactoring, this is broken.