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

