Add doxygen commenting
Add missing required dependency
Limit scope of internal variables, macros
Rename getIndex to findValue, reorder parameters more logically