attempt 2; surprise exceptions