All classes in the package types refactores and tested!