add | operator to FSMs