in progress
check if file exists, check local size against remote before downloading. fixes #5, fixes #6