temp
something new, performance up, but bugs in setClient and setServer