fix bug: 0 special case