initial add
added module infrastructure
merge with head