わずかにリファクタリングした