various scripts that I found online