this one can hang, limit iterations