Object-oriented design patterns in Fortran 90/95: mazev1, mazev2 and mazev3 - CPC, Mendeley (Mendeley, 2008)