implement V1.hat