better communication between modules