細かいところで分からない部分がちょいちょいありますが、一応完成しました。