structure Internal module
add getAll and relax type of modify to allow use with traversals