These are useful if you want more control, or if you want to employ some of the algorithms implemented in this module in other circumstances.