At least, call 
```
if( regexp(...)) 
IP::Check4
```
is duplication of code bcs pattern matching is already included in the Check function.