Refactor over, old tests passed