Moved everything to packages, so we can use "protected" java type