move all element html composition to template methods