fixed exception handling and delegating