Finished Versions That Work With Strings & Return Equivalent Values To The Tests On Github