Put implementation