Implement HPS.