Working on Client implementation