Added modifications learned from discussion.  Removed unneeded methods in interfaces