index functional
index reasonably functional