implemented li.value