move guards to driver level to coerce into strings