Same comment as the one above: please use this in other libraries to DRY things up.