added opaque argument to fullfill and reject