There are far more experienced people on here...
But, I would say that he is too far ahead when you say he is at heel. Effectively leading you.
His head should be level with your knee.
A good drill for this is to spend some time simply turning 180 degrees randomly, whilst checking him with the lead. He will soon get sick of trying to guess where you are heading and wait for you to lead