add fortran subroutines