* Modifications to State data type
* State is now a smart pointer to RawState