diff --git a/fuzz.s b/fuzz.s
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/fuzz.s
@@ -0,0 +1 @@
+
diff --git a/fuzzer/Fuzzer.java b/fuzzer/Fuzzer.java
index 1d8a8c0a2cfda5c1b1678325d9b5b1b267c333ad..43aa5122dfa05baf46ad5bb500c0ecb3cc5b81dd 100644
--- a/fuzzer/Fuzzer.java
+++ b/fuzzer/Fuzzer.java
@@ -14,6 +14,7 @@ public class Fuzzer {
     private static final List<String> validOpcodes = new ArrayList<String>(Arrays.asList("ADD","SUB","MUL","DIV","LDR","STR","MOV","JMP","JZ"));
     private static final int maxRegistry = 32;
     private static final int maxMemory = 65536;
+    private static final String alphabet = "1234567890-=`~!@#$%6&*()_+q wertyuiop[]QWERTYUIOP{}|asdfghjkl;ASDFGHJKL:zxcvbnm,./ZXCVBNM<>?\"\'\\";
     public static void main(String[] args) throws IOException {
         FileOutputStream out = null;
         PrintWriter pw = null;
@@ -21,8 +22,10 @@ public class Fuzzer {
             out = new FileOutputStream(OUTPUT_FILE);
             pw = new PrintWriter(out);
             Random rg = new Random();
+            //----------Fuzzer Begins Here----------//
+            pw.println(generateMemoryUnderflow(rg));
          
-            
+            //----------Fuzzer Ends Here----------����
         }catch (Exception e){
             e.printStackTrace(System.err);
             System.exit(1); 
@@ -37,7 +40,7 @@ public class Fuzzer {
 
     }
     //-----------Generation Functions----------//
-    public String generateMemoryOverflow(Random rg) {
+    public static String generateMemoryOverflow(Random rg) {
     	String line = new String();
     	line.concat("MOV R0 "+maxMemory+"%n");
     	line.concat("MOV R1 1 %n");
@@ -49,7 +52,7 @@ public class Fuzzer {
     	return line;
     }
     
-    public String generateMemoryUnderflow(Random rg) {
+    public static String generateMemoryUnderflow(Random rg) {
     	String line = new String();
     	line.concat("MOV R0 "+(maxMemory*-1)+"%n");
     	line.concat("MOV R1 1 %n");
@@ -61,7 +64,7 @@ public class Fuzzer {
     	return line;
     }
     
-    public String generateRegOverflow(Random rg) {
+    public static String generateRegOverflow(Random rg) {
     	String line = new String();
     	int invalidRegistry;
     	Boolean overflow = rg.nextBoolean();
@@ -187,8 +190,7 @@ public class Fuzzer {
     	return line;
     }
 
-    //DZL
-    public String generateOffsetOverFlow(Random rg) {
+    public static String generateOffsetOverFlow(Random rg) {
     	String line = new String();
     	Boolean positive = rg.nextBoolean();
     	if(!positive) {
@@ -199,7 +201,7 @@ public class Fuzzer {
     	return line;
     }
     
-    public String generateLineOverFlow() {
+    public static String generateLineOverFlow() {
     	String line = new String();
     	line.concat("RET R0");
     	for(int x=0;x<2000;x++) {
@@ -208,7 +210,7 @@ public class Fuzzer {
     	return line;
     }
     
-    public String generateInstructionOverflow() {
+    public static String generateInstructionOverflow() {
     	String line = new String();
     	line.concat("MOV R0 0%n");
     	line.concat("MOV R1 1");
@@ -218,7 +220,7 @@ public class Fuzzer {
     	return line;
     }
     
-    public String generateDivideByZero(){
+    public static String generateDivideByZero(){
     	String line = new String();
     	line.concat("MOV R0 0%n");
     	line.concat("MOV R1 1%n");
@@ -227,7 +229,7 @@ public class Fuzzer {
     	return line;
     }
     
-    public String generateDirtyRegistyRead() {
+    public static String generateDirtyRegistyRead() {
     	String line = new String();
 
     	for(int x=1;x<maxRegistry-1;x++) {   
@@ -237,7 +239,7 @@ public class Fuzzer {
     	return line;
     }
     
-    public String generateDirtyMemoryRead(Random rg) {
+    public static String generateDirtyMemoryRead(Random rg) {
     	String line = new String();
     	int attempts = 20;
     	line.concat("MOV R0 0");
@@ -252,7 +254,7 @@ public class Fuzzer {
     	return line;
     }
 
-    public String jmpOverflow(int programLength,int lineNumber,Random rg) {
+    public static String jmpOverflow(int programLength,int lineNumber,Random rg) {
     	String line = new String();
     	int val;
     	if(rg.nextBoolean()) {
@@ -264,7 +266,7 @@ public class Fuzzer {
     	return line;
     }
     
-    public String jzOverflow(int programLength,int lineNumber,Random rg) {
+    public static String jzOverflow(int programLength,int lineNumber,Random rg) {
     	
     	String line = new String();
     	int val;
@@ -278,7 +280,7 @@ public class Fuzzer {
     	return line;
     }
     
-    public String intOverflow() {
+    public static String intOverflow() {
     	String line = new String();
     	line.concat("MOV R0 65535%n");
     	line.concat("MUL R1 R0 R0%n");
@@ -286,7 +288,7 @@ public class Fuzzer {
     	return line;
     }
     
-    public String intUnderflow() {
+    public static String intUnderflow() {
     	String line = new String();
     	line.concat("MOV R0 -65535%n");
     	line.concat("MUL R1 R0 R0%n");
@@ -294,7 +296,7 @@ public class Fuzzer {
     	return line;
     }
     
-    public String generateInvalidOperands(Random rg) {
+    public static String generateInvalidOperands(Random rg) {
     	int regs = rg.nextInt(4);
     	String line = new String();
     	Boolean hasval = rg.nextBoolean();
@@ -313,12 +315,20 @@ public class Fuzzer {
     	//too many arguments
     	return null;
     }
-    //CAL
-    public String generateInvalidFunctionName() {
-    	return null;
+    
+    public static String generateInvalidFunctionName(Random rg,String line) {
+    	char[] charLine = line.toCharArray();
+    	int change = rg.nextInt(3)+1;
+    	for(int x=0;x<change;x++) {
+    		int index = rg.nextInt(charLine.length);
+    		char character = alphabet.charAt(rg.nextInt(alphabet.length()));
+    		charLine[index] = character;
+    	}
+    			
+    	return charLine.toString();
     }
 
-    public String generateInstructionComment(Random rg) {
+    public static String generateInstructionComment(Random rg) {
     	String line = new String();
     	line.concat(";");
     	String instr = generateValidReturn(rg);
@@ -326,14 +336,14 @@ public class Fuzzer {
     	return line;
     }
     
-    public String generateValidReturn(Random rg) {
+    public static String generateValidReturn(Random rg) {
     	String line = new String();
     	line.concat("RET");
     	line.concat(" R"+rg.nextInt(maxRegistry));
     	return line;
     }
     
-    public String generateInvalidReturn(Random rg) {
+    public static String generateInvalidReturn(Random rg) {
     	int invalidRegistry;
     	String line = new String();
     	line.concat("RET");
@@ -349,7 +359,7 @@ public class Fuzzer {
     	return line;
     }
     
-    public String generateValidString(Random rg,int programLength,int lineNumber){
+    public static String generateValidString(Random rg,int programLength,int lineNumber){
         int index = rg.nextInt(validOpcodes.size());
         String opcode = validOpcodes.get(index);
         int numregs = 0;