added generics to common/server