allowed underscore and dash in component names