moved some static methods to instance methods in vector