fix bug for shelf