Changed exception hierarchy and added topmost runtime exception