set based merge for | separated items