allow select to take array of columns
use sliced for argument slicing
cleanup node inheritance