more advanced random generation with prefab support