theoretical changes and massive refactoring re two vectors per phrase