recursive + test mask