refactored obj md5