loads of changes

Spawning and eating code refactor