change module hierarchy, add more tests
update jar