구조 변경 및 코드 개선