changed java structure