make ob abortable, add smarts matcher