supports nested arrays and implementing pick method