Separated to Client/Router folders, add client implementation