Updated to credit the original sources and to provide a couple of examples