new agent spawn method