implementação da interface