redesign of the vector classes
added more functions to vectors