more flexible for bar style customization