use didDetermineState() to double check the entry/exit events; remember the ip when launching the program