finishes hash implementation