Revise exception hierarchy and window management