States

a bunch of changes to take a look at