module 3 implementation