final fix with limit