done with lagrange