added recursive exmaample