now with 100% less infinite loops