modules and self_scope