add protocol for toHTML