acutally uses esparse!