added multiple image upload using GCD semaphore, universal target