progress on PUT functionality