functional programming 완료.