refactor code to use Harbinger::Client