Version final funcional