Added download and extracting functions