Algorithms for exact string matching have substantial application in computational biology. Time-efficient data structures which support a variety of exact string matching queries, such as the suffix tree and the suffix array, have been applied to such problems. As sequence databases grow, more space-efficient approaches to exact matching are becoming more important. One such data structure, the compressed suffix array (CSA), based on the Burrows-Wheeler transform, has been shown to require memory which is nearly equal to the memory requirements of the original database, while supporting common sorts of query problems time-efficiently. However, building a CSA from a sequence in efficient space and time is challenging. In 2002, the first space-efficient CSA construction algorithm was presented. That implementation used (1+2 log 2 |Σ|)(1+ɛ) bits per character (where ɛ is a small fraction). The construction algorithm ran in as much as twice that space, in O(|Σ|n log(n)) time. We have created an implementation which can also achieve these asymptotic bounds, but for small alphabets, only uses 1 (1 + |Σ|)(1 + ɛ) bits per character, a factor of 2 2 less space for nucleotide alphabets. We present time and space results for the CSA construction and querying of our implementation on publicly available genome data which demonstrate the practicality of this approach