tidying up the package structure, hiding some classes which dont need to be public