put functionality works