add adler32 algo; generalize inerface.
renamed for consistency