diff --git a/content/applications/app_specific/fortran_c_on_hcc.md b/content/applications/app_specific/fortran_c_on_hcc.md
index 877bd5d0a1752023658c974029264a21a0acaee4..cb45b2204e9e51460872fabd142318ae0668ffdb 100644
--- a/content/applications/app_specific/fortran_c_on_hcc.md
+++ b/content/applications/app_specific/fortran_c_on_hcc.md
@@ -21,72 +21,9 @@ $ mkdir serial_dir
 In the subdirectory `serial_dir`, save all the relevant Fortran/C codes. Here we include two demo
 programs, `demo_f_serial.f90` and `demo_c_serial.c`, that compute the sum from 1 to 20. 
 
-{{%expand "demo_f_serial.f90" %}}
-{{< highlight bash >}}
-Program demo_f_serial
-    implicit none
-    integer, parameter :: N = 20
-    real*8 w
-    integer i
-    common/sol/ x
-    real*8 x
-    real*8, dimension(N) :: y
-    do i = 1,N
-        w = i*1d0
-        call proc(w)
-        y(i) = x
-        write(6,*) 'i,x = ', i, y(i)
-    enddo
-    write(6,*) 'sum(y) =',sum(y)
-Stop
-End Program
-Subroutine proc(w)
-    real*8, intent(in) :: w
-    common/sol/ x
-    real*8 x
-    x = w
-Return
-End Subroutine
-{{< /highlight >}}
-{{% /expand %}}
-
-
-{{%expand "demo_c_serial.c" %}}
-{{< highlight c >}}
-//demo_c_serial
-#include <stdio.h>
-
-double proc(double w){
-        double x;
-        x = w;
-        return x;
-}
-
-int main(int argc, char* argv[]){
-    int N=20;
-    double w;
-    int i;
-    double x;
-    double y[N];
-    double sum;
-    for (i = 1; i <= N; i++){        
-        w = i*1e0;
-        x = proc(w);
-        y[i-1] = x;
-        printf("i,x= %d %lf\n", i, y[i-1]) ;
-    }
-    
-    sum = 0e0;
-    for (i = 1; i<= N; i++){
-        sum = sum + y[i-1]; 
-    }
-    
-    printf("sum(y)= %lf\n", sum);  
- 
-return 0; 
-}
-{{< /highlight >}}
-{{% /expand %}}
+[demo_c_serial.c](https://raw.githubusercontent.com/unlhcc/job-examples/master/C/demo_c_serial.c)
+
+[demo_f_serial.f90](https://raw.githubusercontent.com/unlhcc/job-examples/master/fortran/demo_f_serial.f90)
 
 ---
 
@@ -121,33 +58,10 @@ Create a submit script to request one core (default) and 1-min run time
 on the supercomputer. The name of the main program enters at the last
 line.
 
-{{% panel header="`submit_f.serial`"%}}
-{{< highlight bash >}}
-#!/bin/sh
-#SBATCH --mem-per-cpu=1024
-#SBATCH --time=00:01:00
-#SBATCH --job-name=Fortran
-#SBATCH --error=Fortran.%J.err
-#SBATCH --output=Fortran.%J.out
-
-module load compiler/gcc/4.9  
-./demo_f_serial.x
-{{< /highlight >}}
-{{% /panel %}}
+[submit_f.serial](https://raw.githubusercontent.com/unlhcc/job-examples/master/fortran/submit_f.serial)
+
+[submit_c.serial](https://raw.githubusercontent.com/unlhcc/job-examples/master/C/submit_c.serial)
 
-{{% panel header="`submit_c.serial`"%}}
-{{< highlight bash >}}
-#!/bin/sh
-#SBATCH --mem-per-cpu=1024
-#SBATCH --time=00:01:00
-#SBATCH --job-name=C
-#SBATCH --error=C.%J.err
-#SBATCH --output=C.%J.out
-
-module load compiler/gcc/4.9
-./demo_c_serial.x
-{{< /highlight >}}
-{{% /panel %}}
 
 #### Submit the Job
 
@@ -164,56 +78,4 @@ Replace `<username>` with your HCC username.
 
 #### Sample Output
 
-The sum from 1 to 20 is computed and printed to the `.out` file (see
-below). 
-{{%expand "Fortran.out" %}}
-{{< highlight batchfile>}}
- i,x =            1   1.0000000000000000     
- i,x =            2   2.0000000000000000     
- i,x =            3   3.0000000000000000     
- i,x =            4   4.0000000000000000     
- i,x =            5   5.0000000000000000     
- i,x =            6   6.0000000000000000     
- i,x =            7   7.0000000000000000     
- i,x =            8   8.0000000000000000     
- i,x =            9   9.0000000000000000     
- i,x =           10   10.000000000000000     
- i,x =           11   11.000000000000000     
- i,x =           12   12.000000000000000     
- i,x =           13   13.000000000000000     
- i,x =           14   14.000000000000000     
- i,x =           15   15.000000000000000     
- i,x =           16   16.000000000000000     
- i,x =           17   17.000000000000000     
- i,x =           18   18.000000000000000     
- i,x =           19   19.000000000000000     
- i,x =           20   20.000000000000000     
- sum(y) =   210.00000000000000
-{{< /highlight >}}
-{{% /expand %}}
-
-{{%expand "C.out" %}}
-{{< highlight batchfile>}}
-i,x= 1 1.000000
-i,x= 2 2.000000
-i,x= 3 3.000000
-i,x= 4 4.000000
-i,x= 5 5.000000
-i,x= 6 6.000000
-i,x= 7 7.000000
-i,x= 8 8.000000
-i,x= 9 9.000000
-i,x= 10 10.000000
-i,x= 11 11.000000
-i,x= 12 12.000000
-i,x= 13 13.000000
-i,x= 14 14.000000
-i,x= 15 15.000000
-i,x= 16 16.000000
-i,x= 17 17.000000
-i,x= 18 18.000000
-i,x= 19 19.000000
-i,x= 20 20.000000
-sum(y)= 210.000000
-{{< /highlight >}}
-{{% /expand %}}
+The sum from 1 to 20 is computed and printed to the `.out` files.
diff --git a/content/applications/app_specific/mpi_jobs_on_hcc.md b/content/applications/app_specific/mpi_jobs_on_hcc.md
index 182012219d5f3e665d097ba3f366238114c06878..5d6eb19e61037e03e78f498e0287c4e4edf16956 100644
--- a/content/applications/app_specific/mpi_jobs_on_hcc.md
+++ b/content/applications/app_specific/mpi_jobs_on_hcc.md
@@ -30,160 +30,9 @@ outputs from all worker cores and perform an overall summation. For easy
 comparison with the serial code ([Fortran/C on HCC]({{< relref "fortran_c_on_hcc">}})), the
 added lines in the parallel code (MPI) are marked with "!=" or "//=".
 
-{{%expand "demo_f_mpi.f90" %}}
-{{< highlight fortran >}}
-Program demo_f_mpi
-!====== MPI =====
-    use mpi     
-!================
-    implicit none
-    integer, parameter :: N = 20
-    real*8 w
-    integer i
-    common/sol/ x
-    real*8 x
-    real*8, dimension(N) :: y 
-!============================== MPI =================================
-    integer ind
-    real*8, dimension(:), allocatable :: y_local                    
-    integer numnodes,myid,rc,ierr,start_local,end_local,N_local     
-    real*8 allsum                                                   
-!====================================================================
-    
-!============================== MPI =================================
-    call mpi_init( ierr )                                           
-    call mpi_comm_rank ( mpi_comm_world, myid, ierr )               
-    call mpi_comm_size ( mpi_comm_world, numnodes, ierr )           
-                                                                                                                                        !
-    N_local = N/numnodes                                            
-    allocate ( y_local(N_local) )                                   
-    start_local = N_local*myid + 1                                  
-    end_local =  N_local*myid + N_local                             
-!====================================================================
-    do i = start_local, end_local
-        w = i*1d0
-        call proc(w)
-        ind = i - N_local*myid
-        y_local(ind) = x
-!       y(i) = x
-!       write(6,*) 'i, y(i)', i, y(i)
-    enddo   
-!       write(6,*) 'sum(y) =',sum(y)
-!============================================== MPI =====================================================
-    call mpi_reduce( sum(y_local), allsum, 1, mpi_real8, mpi_sum, 0, mpi_comm_world, ierr )             
-    call mpi_gather ( y_local, N_local, mpi_real8, y, N_local, mpi_real8, 0, mpi_comm_world, ierr )     
-                                                                                                        
-    if (myid == 0) then                                                                                 
-        write(6,*) '-----------------------------------------'                                          
-        write(6,*) '*Final output from... myid=', myid                                                  
-        write(6,*) 'numnodes =', numnodes                                                               
-        write(6,*) 'mpi_sum =', allsum  
-        write(6,*) 'y=...'
-        do i = 1, N
-            write(6,*) y(i)
-        enddo                                                                                       
-        write(6,*) 'sum(y)=', sum(y)                                                                
-    endif                                                                                               
-                                                                                                        
-    deallocate( y_local )                                                                               
-    call mpi_finalize(rc)                                                                               
-!========================================================================================================
-    
-Stop
-End Program
-Subroutine proc(w)
-    real*8, intent(in) :: w
-    common/sol/ x
-    real*8 x
-    
-    x = w
-    
-Return
-End Subroutine
-{{< /highlight >}}
-{{% /expand %}}
-
-{{%expand "demo_c_mpi.c" %}}
-{{< highlight c >}}
-//demo_c_mpi
-#include <stdio.h>
-//======= MPI ========
-#include "mpi.h"    
-#include <stdlib.h>   
-//====================
+[demo_f_mpi.f90](https://raw.githubusercontent.com/unlhcc/job-examples/master/fortran/demo_f_mpi.f90)
 
-double proc(double w){
-        double x;       
-        x = w;  
-        return x;
-}
-
-int main(int argc, char* argv[]){
-    int N=20;
-    double w;
-    int i;
-    double x;
-    double y[N];
-    double sum;
-//=============================== MPI ============================
-    int ind;                                                    
-    double *y_local;                                            
-    int numnodes,myid,rc,ierr,start_local,end_local,N_local;    
-    double allsum;                                              
-//================================================================
-//=============================== MPI ============================
-    MPI_Init(&argc, &argv);
-    MPI_Comm_rank( MPI_COMM_WORLD, &myid );
-    MPI_Comm_size ( MPI_COMM_WORLD, &numnodes );
-    N_local = N/numnodes;
-    y_local=(double *) malloc(N_local*sizeof(double));
-    start_local = N_local*myid + 1;
-    end_local = N_local*myid + N_local;
-//================================================================
-    
-    for (i = start_local; i <= end_local; i++){        
-        w = i*1e0;
-        x = proc(w);
-        ind = i - N_local*myid;
-        y_local[ind-1] = x;
-//      y[i-1] = x;
-//      printf("i,x= %d %lf\n", i, y[i-1]) ;
-    }
-    sum = 0e0;
-    for (i = 1; i<= N_local; i++){
-        sum = sum + y_local[i-1];   
-    }
-//  printf("sum(y)= %lf\n", sum);    
-//====================================== MPI ===========================================
-    MPI_Reduce( &sum, &allsum, 1, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD );
-    MPI_Gather( &y_local[0], N_local, MPI_DOUBLE, &y[0], N_local, MPI_DOUBLE, 0, MPI_COMM_WORLD );
-    
-    if (myid == 0){
-    printf("-----------------------------------\n");
-    printf("*Final output from... myid= %d\n", myid);
-    printf("numnodes = %d\n", numnodes);
-    printf("mpi_sum = %lf\n", allsum);
-    printf("y=...\n");
-    for (i = 1; i <= N; i++){
-        printf("%lf\n", y[i-1]);
-    }   
-    sum = 0e0;
-    for (i = 1; i<= N; i++){
-        sum = sum + y[i-1]; 
-    }
-    
-    printf("sum(y) = %lf\n", sum);
-    
-    }
-    
-    free( y_local );
-    MPI_Finalize ();
-//======================================================================================        
-
-return 0;
-}
-{{< /highlight >}}
-{{% /expand %}}
+[demo_c_mpi.c](https://raw.githubusercontent.com/unlhcc/job-examples/master/C/demo_c_mpi.c)
 
 ---
 
@@ -210,33 +59,10 @@ Create a submit script to request 5 cores (with `--ntasks`). A parallel
 execution command `mpirun ./` needs to enter to last line before the
 main program name.
 
-{{% panel header="`submit_f.mpi`"%}}
-{{< highlight bash >}}
-#!/bin/sh
-#SBATCH --ntasks=5
-#SBATCH --mem-per-cpu=1024
-#SBATCH --time=00:01:00
-#SBATCH --job-name=Fortran
-#SBATCH --error=Fortran.%J.err
-#SBATCH --output=Fortran.%J.out
-
-mpirun ./demo_f_mpi.x 
-{{< /highlight >}}
-{{% /panel %}}
+[submit_f.mpi](https://raw.githubusercontent.com/unlhcc/job-examples/master/fortran/submit_f.mpi)
 
-{{% panel header="`submit_c.mpi`"%}}
-{{< highlight bash >}}
-#!/bin/sh
-#SBATCH --ntasks=5
-#SBATCH --mem-per-cpu=1024
-#SBATCH --time=00:01:00
-#SBATCH --job-name=C
-#SBATCH --error=C.%J.err
-#SBATCH --output=C.%J.out
+[submit_c.mpi](https://raw.githubusercontent.com/unlhcc/job-examples/master/C/submit_c.mpi)
 
-mpirun ./demo_c_mpi.x 
-{{< /highlight >}}
-{{% /panel %}}
 
 #### Submit the Job
 
@@ -254,69 +80,6 @@ Replace `<username>` with your HCC username.
 Sample Output
 -------------
 
-The sum from 1 to 20 is computed and printed to the `.out` file (see
-below). The outputs from the 5 cores are collected and processed by the
+The sum from 1 to 20 is computed and printed to the `.out` files. The outputs from the 5 cores are collected and processed by the
 master core (i.e. `myid=0`).
 
-{{%expand "Fortran.out" %}}
-{{< highlight batchfile>}}
- -----------------------------------------
- *Final output from... myid=           0
- numnodes =           5
- mpi_sum =   210.00000000000000     
- y=...
-   1.0000000000000000     
-   2.0000000000000000     
-   3.0000000000000000     
-   4.0000000000000000     
-   5.0000000000000000     
-   6.0000000000000000     
-   7.0000000000000000     
-   8.0000000000000000     
-   9.0000000000000000     
-   10.000000000000000     
-   11.000000000000000     
-   12.000000000000000     
-   13.000000000000000     
-   14.000000000000000     
-   15.000000000000000     
-   16.000000000000000     
-   17.000000000000000     
-   18.000000000000000     
-   19.000000000000000     
-   20.000000000000000     
- sum(y)=   210.00000000000000     
-{{< /highlight >}}
-{{% /expand %}} 
-
-{{%expand "C.out" %}}
-{{< highlight batchfile>}}
------------------------------------
-*Final output from... myid= 0
-numnodes = 5
-mpi_sum = 210.000000
-y=...
-1.000000
-2.000000
-3.000000
-4.000000
-5.000000
-6.000000
-7.000000
-8.000000
-9.000000
-10.000000
-11.000000
-12.000000
-13.000000
-14.000000
-15.000000
-16.000000
-17.000000
-18.000000
-19.000000
-20.000000
-sum(y) = 210.000000
-{{< /highlight >}}
-{{% /expand %}}
-
diff --git a/content/applications/app_specific/running_sas.md b/content/applications/app_specific/running_sas.md
index 621901619ab0291bfe6f5d3f07a1c3a1684e1538..098fb3f41f4a6e13feb8beb41e182d2a27b71cc4 100644
--- a/content/applications/app_specific/running_sas.md
+++ b/content/applications/app_specific/running_sas.md
@@ -20,39 +20,7 @@ called `sas_demo` under your `$WORK` directory. 
 In the subdirectory `sas_demo`, save the sas code. Here we include a single demo
 programs, `t_test.sas`, to perform a t test analysis on a small data set. 
 
-{{%expand "t-test.sas" %}}
-{{< highlight sas >}}
-* load the dataset;
-data pulse;
- input pre post;
-datalines;
- 62 61
- 63 62
- 58 59
- 64 61
- 64 63
- 61 58
- 68 61
- 66 64
- 65 62
- 67 68
- 69 65
- 61 67
- 64 65
- 61 63
- 63 62
-;
-
-* it is always a good idea to print out the dataset;
-proc print;
-run;
-
-* perform the analysis using PROC TTEST;
-proc ttest;
-  paired pre*post; * tells sas to compute the test for the paired differences;
-run;
-{{< /highlight >}}
-{{% /expand %}}
+[t_test.sas](https://raw.githubusercontent.com/unlhcc/job-examples/master/sas/t-test.sas)
 
 
 
@@ -64,22 +32,7 @@ Create a submit script to request one core (default) and 10-min run time
 on the supercomputer. The name of the main program enters at the last
 line.
 
-{{% panel header="`sas.submit`"%}}
-{{< highlight bash >}}
-#!/bin/bash
-#SBATCH --nodes=1
-#SBATCH --ntasks-per-node=1
-#SBATCH --mem=1gb
-#SBATCH --time=00:10:00
-#SBATCH --job-name=sas_example
-#SBATCH --error=sas_example.%J.err
-#SBATCH --output=sas_example.%J.out
-
-module load sas/9.4
-
-sas t-test.sas
-{{< /highlight >}}
-{{% /panel %}}
+[sas.submit](https://raw.githubusercontent.com/unlhcc/job-examples/master/sas/sas.submit)
 
 #### Submit the Job
 
diff --git a/content/submitting_jobs/job_dependencies.md b/content/submitting_jobs/job_dependencies.md
index 36aa971e848093c509eed7076212f6448a338b33..db17dd1298a2979c3b8685690783893bbdd9480f 100644
--- a/content/submitting_jobs/job_dependencies.md
+++ b/content/submitting_jobs/job_dependencies.md
@@ -31,8 +31,7 @@ depends on Jobs B and C completing.
 {{< figure src="/images/4980738.png" width="400" >}}
 
 The SLURM submit files for each step are below.
-
-{{%expand "JobA.submit" %}}
+{{% panel theme="info" header="JobA.submit" %}}
 {{< highlight batch >}}
 #!/bin/sh
 #SBATCH --job-name=JobA
@@ -44,10 +43,10 @@ echo "I'm job A"
 echo "Sample job A output" > jobA.out
 sleep 120
 {{< /highlight >}}
-{{% /expand %}}
+{{% /panel %}}
 
 
-{{%expand "JobB.submit" %}}
+{{% panel theme="info" header="JobB.submit" %}}
 {{< highlight batch >}}
 #!/bin/sh
 #SBATCH --job-name=JobB
@@ -62,9 +61,9 @@ echo "" >> jobB.out
 echo "Sample job B output" >> jobB.out
 sleep 120
 {{< /highlight >}}
-{{% /expand %}}
+{{% /panel %}}
 
-{{%expand "JobC.submit" %}}
+{{% panel theme="info" header="JobC.submit" %}}
 {{< highlight batch >}}
 #!/bin/sh
 #SBATCH --job-name=JobC
@@ -79,9 +78,9 @@ echo "" >> jobC.out
 echo "Sample job C output" >> jobC.out
 sleep 120
 {{< /highlight >}}
-{{% /expand %}}
+{{% /panel %}}
 
-{{%expand "JobC.submit" %}}
+{{% panel theme="info" header="JobD.submit" %}}
 {{< highlight batch >}}
 #!/bin/sh
 #SBATCH --job-name=JobD
@@ -98,7 +97,7 @@ echo "" >> jobD.out
 echo "Sample job D output" >> jobD.out
 sleep 120
 {{< /highlight >}}
-{{% /expand %}}
+{{% /panel %}}
 
 To start the workflow, submit Job A first: