basic function
Merge https://github.com/wlsnx/pick