better support for rev 1/2, sha-256 implementation, argument parser