run block on main thread