I think there should be a separate helper function and then LU and others just using it.