add annotations
merge conflicts
dynamic module loading