rewritten module
rewritten coupling
fixes