* improving exception handling