adding and fixing functionality server