implemented head