Utils for recursive usage