Begin to implement Client and BasicClient classes