refactored magic with new e()