re-wrote all the python to process padded hexadecimal strings and all operations are on strings.
Integer interpretation from the gpu comes at the very last step