add start and finish download function