now returns all props and handles setting patterns and colors appropriately please document that colors have precedence if both color and pattern property has a value