recursive lab example