now the eigenfunctions almost work