add (e)llusion I, (e)llusion II, (e)llusion III
enhancement some function