base code 1차 완성