Fix and improve recursion, added text draw