reworking modules flow