dispatching completion blocks on main thread