use block instead of performselector in hopes of avoiding mystery crash.  block should sanity check itself.