atualizado com teste inspirado no ramans.