Fleshed out async functions and added MD5 validation.