forked from: forked from: 継承しまくると重いらしい

