further refined Spell and Spellbook class