fix recurison