Code re-organisation. Splitting GC in several files.