this should be a more specific exception type; preferably something XD-specific