(+) client finished; (~)minor improvements