implement PUT|GET