大体出来上がったのですが、まだ論理を推敲してます