seem like  I need take more time on recursion to be familar with
thinking pattern