handle PUT requests