protect finsh from recursion