ソースはやっつけですが、ひとまず動く状態