finish server side