Partial implementation on State (Nothing tested [or even compiled] yet)