types of magic