primeira versão

A primeira versão funcional, mas ainda faltam muitos ajustes e
melhorias.