Could use a general cleanup: - modularize - extract common functions - better output - execute async calls concurrently