Refatorado para não poluir o namespace global.