init
add diagram of module construction