extractLp rewrite