diff --git a/src/cse332/interfaces/misc/BString.java b/src/cse332/interfaces/misc/BString.java
index 07e860d0696b974c0fd26b74e52dcc7065f446f6..e757c64ca59fa05b08fb27f374353412a8669d5a 100644
--- a/src/cse332/interfaces/misc/BString.java
+++ b/src/cse332/interfaces/misc/BString.java
@@ -6,7 +6,7 @@ import java.util.Iterator;
 import cse332.interfaces.worklists.FixedSizeFIFOWorkList;
 import datastructures.worklists.CircularArrayFIFOQueue;
 
-public abstract class BString<Alphabet extends Comparable<Alphabet> implements Iterable<Alphabet>, Comparable<BString<Alphabet>> {
+public abstract class BString<Alphabet extends Comparable<Alphabet>> implements Iterable<Alphabet>, Comparable<BString<Alphabet>> {
     protected FixedSizeFIFOWorkList<Alphabet> str;
 
     public BString(Alphabet[] str) {
@@ -26,7 +26,7 @@ public abstract class BString<Alphabet extends Comparable<Alphabet> implements I
     }
 
     @SuppressWarnings("unchecked")
-    public static <A, X extends BString<A>> Class<A> getLetterType(Class<X> clz) {
+    public static <A extends Comparable<A>, X extends BString<A>> Class<A> getLetterType(Class<X> clz) {
         try {
             return (Class<A>) clz.getMethod("getLetterType", (Class<?>[]) null)
                     .invoke(null, (Object[]) null);