added primitive/compound patterns