What can come in a wide variety of styles for various functions