make subsets a global object and create it earlier

during read rather then during subset creation, this not only makes the
read faster but it will allow me to once again refactor the filters
datastructure