implement basic PUT request