Whoops!
Some refactoring.