merged development with refactor download