moved State class declarations to header