catchall *can* be NULL