Refactor; down to 2 failing tests