Refactored more, but not enough!