I was confused by `opts.on`