generic hawk client