More refactoring, using vector semantics under the hood now