add in states
fix tests
fixed conflicts
lotsa things