bug fix with put()