Fixed one of the private methods and added subhashes. Still needs work.