some new classes and headers were added
added a class to represent states