Implement PUT