module implements module protocol duh