initial commit containing client and common classes