Fix #4. Add JSON payload support