拡張性を考え書き直し中（途中）