added magic.h