fixed mem validation in perform, bug in copy_string
servers now actually take a descriptor
servers now take thread numbers as args