refactor
use defs, not vals to be able to run multiple times