passes cb directly