Updated file, nearly complete