rec pattern broken
to merge