isto é um objecto que é usado como um todo. nao foi feito para reaproveitar essas classes internas