implement def