server implement