support HTTP POST
improve backend