can be run as a script