added more client functionality