basic implementation of the downloaders