updated with li and ul structure