case classを使って実装