Changed access modifiers of classes, methods and variables to ensure the most encapsulation as possible