different versions of module definitions