add BlockOperations and OperationQueue with task array with callback function