um pedaço dos códigos está pronto para referência