implement markdown rendering