add license
remove init (simplify api by inferring basedir from module.parent)