adding algorithm and server state classes, adding fuction to test that a name is 'simple' (a-z, A-Z, 0-9, _)