only download URL once and reuse
logger renaming
add test util
add gradle files
ignore various unnecessary files