tommyhashlin: don't cast malloc
tommyhashlin: add for_each() iterators
tommyhashlin: add some more docs