refactoring
vector version added