adding tomdoc to public definitions
refactoring and adding Hashie