renamed EdgeSpell to Spell, so that it can be also used in Node