including module routine shell, to avoid being compiler dependent