Hpa routing

Jake I want to put in the pull request for this, merge what you can and I will talk to you in the morning about it.