added code documentation and moved Client file to correct location