Add BList

Still need to impl a few methods, but this is a good starting point.
Yeah I'll clarify a bit.