added icon and exception handling