$COW 同じパターンにいくつかの拡張を加えた