only update levels as needed