ctx removed from cb() calls to maintain backward compatibility