¿Cuáles son los tipos de implementación?