patterns can be also empty