chapt 03 구현