add 2d vec sub
fix dumb mistakes -- class should be rewritten