moved field constructors out into config state space