added delegate for failed download