imported test cases from simone
further code refactoring from project simone
ports from sally project
added note about md5 hash