leap
recursion makes everything possible