major changes - added several methods.