defer and panic