handle post request, finally