Fixing self-spawning issue, and added some events