for review

we should consider
1 define the external resource
2 how to ship to executor
3 a pool for this resource in exetutor
```T``` need serializable?