Initial commit, Broke up the script into three different files.