diff --git a/bioalign.cabal b/bioalign.cabal
--- a/bioalign.cabal
+++ b/bioalign.cabal
@@ -1,5 +1,5 @@
 Name:                bioalign
-Version:             0.0.3
+Version:             0.0.4
 Synopsis:            Data structures and helper functions for calculating alignments
 Description:         Data structures and helper functions for calculating alignments
 Homepage:	     https://patch-tag.com/r/dfornika/biophd/home
diff --git a/src/Bio/Alignment/AlignData.hs b/src/Bio/Alignment/AlignData.hs
--- a/src/Bio/Alignment/AlignData.hs
+++ b/src/Bio/Alignment/AlignData.hs
@@ -36,9 +36,16 @@
 
 -- ----------------------------------------
 
-data Sequence = Seq SeqData (Maybe QualData) -- ^ header and actual sequence
+-- Sequence is a header String, plus SeqData and optional QualData
+-- Sequence is an instance of the Bio.Core.Sequence.BioSeq class.
+
+data Sequence = Seq SeqLabel SeqData (Maybe QualData)
                 deriving Eq
 
+instance BioSeq Sequence where
+  seqlabel  (Seq lab seq mqual) = lab
+  seqdata   (Seq lab seq mqual) = seq
+  seqlength (Seq lab seq mqual) = Offset {unOff = BC.length $ unSD seq}
 
 type Gaps = [Offset]
 type Alignment = [(Offset, Strand, Sequence, Gaps)]
@@ -106,7 +113,7 @@
 --   This represents the columns of the alignment matrix, but will only require linear space
 --   for score calculation.
 columns :: Selector a -> a -> Sequence -> Sequence -> [[a]]
-columns f z (Seq s1 _) (Seq s2 _) = columns' f z s1 s2
+columns f z (Seq _ s1 _) (Seq _ s2 _) = columns' f z s1 s2
 
 columns' :: Selector a -> a -> SeqData -> SeqData -> [[a]]
 columns' f zero s1 s2 = let
