style and edit functionality