implementações variadas