abstract filter logic into filter_admin, add try catch event handler invocation