init関数を役割ごとに分割、関数名の変更
コメントの追加、インデントの整形