default cb to function() {}