added sha3 functionality and tests