initial commit before changeing how states are handled