add toHTML method