Feature/downloaders

Simplified the downloaders using a monad transformer.