Added checks and library for it.  Modified multiple files