<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def rename(self, columns):
 """Returns a new DataFrame with renamed columns. Currently a simplified version of Pandas' rename. Parameters columns : dict Old names to new names. Returns ------- DataFrame With columns renamed, if found. """

        new_data = OrderedDict()
        for column_name in self:
            if column_name in columns.keys():
                column = self._data[column_name]
                new_name = columns[column_name]
                new_data[new_name] = Series(column.values, column.index, column.dtype, new_name)
            else:
                new_data[column_name] = self._data[column_name]

        return DataFrame(new_data, self.index)