Client code complete (I think, again...)