#3: implemented create server use case