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