magic mode and basic mode
merge