provide start index interface
update assign bucket function