subvec version: cleaner but less interesting