Big refactor & Adding logic to never download the same image twice