tested access modifiers, rearranged classes