better base state structure