added ability to find/destroy by criteria and function