大分変更したのでマージをお願いします。

色々変更しました。