Public Function addplayer(ByVal player As String, ByVal score As Integer) As String() Dim please() As String Dim studx As CPlayer studx = New CPlayer(player, score) 'passes player name and score to studx? ReDim Preserve array(number) '<<< must be 'sets the size of the array array(number) = studx 'passes playername and score to array? please = buildarray() Return please End Function #End Region #Region "should build array" Private Function buildarray() As String() Dim j As Integer Dim a(number - 1) As String For j = 0 To number - 1 a(j) = array(j).ToString '<--- 'it blows up each time it gets to here Next Return a End Function this is in my Cplayer class Public Overrides Function toString() As String Dim strtemp As String strtemp = Me.player & " : " & CStr(Me.score) Return strtemp End Function can anybody help with this?