diff --git a/src/main.rs b/src/main.rs
index b6357544cd00243f9a2bf6f3df625bf3ea1e0e80..2846a2db582db30d48d9bef86f23db2e12996922 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -140,14 +140,70 @@ static CODED: [u32; 132] =
         0];
 
 
+
 fn codgen() {
 
 }
 
+fn decode(coded: &[u32], plain: &mut[u8], seed: &mut u32) -> u32 {
+
+    let x = 3;
+    x
+}
+
+fn main() {
+    println!("Time to decode!");
 
+    let mut seed = 0x0e0657c1;
 
+    decode(&CODED, &mut PLAIN, &mut seed);
 
 
-fn main() {
-    println!("Hello, world!");
 }
+/*
+# Group 1's Codeword Generator Subroutine (pseudocode)
+#  (remember:  "seed" is a global variable, UNSIGNED INTEGER;
+#              you may implement local variables in registers or on the stack;
+#              result returned in v0; preserve all except t regs)
+#
+# FUNCTION codgen(): UNSIGNED INTEGER;
+#  LOCAL SIGNED INTEGER   n;
+#  LOCAL UNSIGNED INTEGER x, y;
+#  BEGIN
+#    n := [count the number of 0's in word "seed"];
+#    x := [rotate "seed" left by 30 bits];
+#    y := [shift "seed" right-ARITHMETIC by 6 bits];
+#    seed := x XOR y XOR n;
+#   RETURN( seed XOR 0x464b713e );
+#  END;
+# 
+# hint:  if "seed" is initialized to 0x3e944b9f,
+#        the first five calls will generate these values:
+#        0x891432f9, 0x4aa1dccc, 0xc54270fa, 0x9885155f, 0xce83d1b8, ...
+# your code is to be written farther down (see comment below).
+ 
+ 
+# Group 1's Recursive Decoding Subroutine (pseudocode)
+#  (for "decode", all four local variables must be implemented ON THE
+#              STACK, and NOT in registers; implement the code literally,.
+#              no optimizations.  We're trying to teach you something.
+#   remember:  result returned in v0; preserve all except t regs)
+#
+# FUNCTION decode( wordarr, bytearr ): UNSIGNED INTEGER;
+#    (wordarr, bytearr passed by reference)
+#  LOCAL UNSIGNED INTEGER m, r, x, y;
+#  BEGIN
+#    x := ONE'S-COMPLEMENT of codgen();
+#    IF ([contents of word at "wordarr"] = 0) THEN  
+#      [byte pointed to by "bytearr"] := 0;
+#      r := x;
+#    ELSE
+#      y := decode( wordarr+, bytearr+ );  # "k+" means "successor in k"
+#      m := ( x - y ) - [contents of word at "wordarr"];
+#      [byte pointed to by "bytearr"] := [the eight bits at "m"<20:13>];
+#      r := TWO'S-COMPLEMENT OF codgen();
+#      r := x + y + m + r + 5;
+#    ENDIF;
+#    RETURN( r );
+#  END;
+*/