problem cross-referencing classes

Hi,

I want to create a hierachical structure of objects (Tree), like a
directory. I have two different classes TDirectory and TDocument.
TDirectory has TDirectory-children (Subfolders) and TDocument-children
(files). TDocument has no childrens.
These classes are defined in 2 different units:

unit folders;
interface
  uses files;
    {necessary because TFolder has TFile-type-functions/variables}
  type TFolder=class
    [..] end;{TFolder}
implementation
  [..]
end.

unit files;
interface
  uses folders;
  type TFile=class
    [..] end;{TFile}
implementation
  [..]
end.

This - off course - generates a compiler error because folders includes
files, files includes folders...
In files i must include folders because TFile has a var owner:TGroup;,
wich i need.

Does anyone know a solution for my problem?

Thanks - Tilo

PS: I'm using fpc