though honestly Ribol is probably a better bet---just wanted to show that this kind of thing can be done as a library without too much complication.