refactor the site structure with blib object