finish list function