add recursion, still have problems with teenager output