implement base Site object, implement getHtml promise