only use Vector to operate on matrix