redone in vector