Versão final totalmente funcional.