changed structure to modules and updated versions
merge conflict resolved