finish subsetting and add some tests