add support to passa a element to be the content; add another demo