finish the selflist implementation and start to implement download
thread