work to make this more standalone