added hash files for tests + exploded code for better reading