added tcp client,server generics | they need debugging