Add more client functionality

Not complete or tested of course.