add socket volatile
reformat code style; add salt option for signature; update README