modificado, mas ainda não funciona bem