asm-106

rewrote contacts to inherit from client.

resolve bounty #106