work on html generation