cleaned up with a helper macro.