Adding downloading feature and some light refactoring