selecting data nodes is functional