change cb || cb() to cb && cb()