A little background: I have Intel's Fortran90 compiler which I used for years. However, I recently had to reinstall it and found that the key was no longer valid. Intel did not have the decency to return my emails so I looked for another Fortran90 compiler. I found something called FTN95 (British, I believe) but their linker couldn't find any assembler routines even though they were placed in the library. I am in the process of testing gfortran. However, when I compile a module called MOD_WIN_APIS containing interfaces to Microsoft API functions I get the error: Error: Derived type '{whatever}' at (1) is being used before it is defined I have defined these types in another module named MOD_TYPES which is compiled prior to MOD_WIN_APIS. MOD_WIN_APIS uses MOD_TYPES (with the statement "USE MOD_TYPES") prior to any interfaces being defined. Why am I getting this error when the types are defined??? Thank you, Ken