bugfix
add tests
add modules