Stab at SHA512. Needs more work, testing, and rethink headers