tirando deprecation e refatorando/modularizando a interface