1차 구현 완