24809 words; second pass refactor complete