Find all functions $f:\Bbb{R} \to \Bbb{R}$ such that for all $x,y,z \in \Bbb{R}$ , $f(xf(x)+f(y))=x^2+y$

Find all functions $$f:\Bbb{R} \to \Bbb{R}$$ such that for all $$x,y, \in \Bbb{R}$$ , $$f(xf(x)+f(y))=x^2+y$$

We can easily get a strong condition $$f(f(y))=y$$ by setting $$x=0$$ . By this equation we know $$f$$ is injective and surjective. I got lost from there. By observation I know $$f(x)=x$$ and $$f(x)=-x$$ are solution. So I was trying to make $$x^2+y=f(xf(x)+f(y))$$ close to $$f(x)^2+y$$ or $$x^2+f(y)$$. Any hints would be helpful.