Start to make modules more generic