少し関数を追加、有効時、無効時を実装