move where some defaults are initialized; finish validate