Implement redirect_loop
Fix output --source bug
Fix hash bug
Fix tests