Use blist instead of scipy.sparse
Non-synonymous code looking good
Reorganize code into one big class