why the spawn() ?