funções após algumas modificações da versão inicial