server skeleton, first attempt