new markdown generation