server side complete