wrapped all callback calls in try...catch