now queue is only updated if successful