Added some introductory discussion and term and type definition