Revision 3

New Functions Added. Broke out some complex functions into individual
Functions