implementações diversas