server logic is all there