Made modules more generic