抽象化にほぼ成功しました