invoke with apply vs call