magic++