Fortran Wiki
Factory Pattern