Refactoring again

直せそうなところがあったので、さらにリファクタリングしました。