add helper modules; add tests