Add BList

Still need to impl a few methods, but this is a good starting point.