matchBack and list, barely tested