Re-wrote summon function, still doesn't do what it should, blegh