buck's recursion practice