try stack impl