fix recursionlimit and windows path bug