#5: fixed unintentional recursion