Initial checkin.
User's guide needs to be written