full script, almost