def keys(self):
        """ Returns all row keys

        :raise NotImplementedError: if all rows aren't keyed
        :return: all row keys
        """
        if len(self._row_name_list) != len(self._rows):
            raise NotImplementedError("You can't get row keys for a FVM that doesn't have all rows keyed")

        return self.row_names()