improving client functionality