Refactoring and Rebasing Server code
Made Client class final aswell
Revert "Refactoring and Rebasing Server code Made Client class final
aswell"

This reverts commit f9c05e09059d9fcb0925137821a93c7a18fd8bce.