introduce the site compiler