Do not use std::stack because it causes obscure failures when