support for more common patterns