skeleton of server side generation