rewrite code to technically support multiple engines and websites