forgot to put back to main queue in performBlock