Auto reload when scrap failed + refactor