modified construction of all modules