Initiall Client API implementation. NOTE: it is draft (work in progress)