Sorcery.call fix, Sorcery.construct and Sorcery.destroy improval
refactor