restructured into java libraries