all ghosts follow 'path' and StateReader added