add headers
add sha2 functions