add extension map and compiler