added support for put and delete