split this out into its own script