eu juro que vou começar a extrair coisas para uma lib...