switch to supporting <div> and <input> elements for more control over rendering