externalized config, dynamic menu