Added two fold structure to use both product and module