Category Archives: Articles

In-app sound is turned off in BlueRail Trains app for BlueRailDCC

Category : Articles

At present we have in-app sounds turned off when you use the BlueRail Trains app to control BlueRailDCC boards. You may be wondering why we have done this.

To build this technology, the guys at BlueRail have spent thousands of hours over the course of 8 years. Making new technology for trains is not a lucrative business. The model railroad market is small, and the hobbyists want as much functionality as they can, and they don’t want to pay a lot of money for products. People who make model train technology understand any income they received will be dwarfed by the amount of time spent developing the product. It is a labor of love, and we do it because we love the hobby and want model railroaders (and our friends) to have excellent train control.

BlueRail began developing the BlueRail app for the Blue Horse 8 years ago, and it released in 2015. 5 years later, people have contacted BlueRail complaining that the iPhone they purchased in 2020 is having trouble playing sounds for the $75 board they purchased 5 years ago. Our programmers and team spend hours investigating this, and to date the problems have always been on the user end. But one of these days, Apple is going to make a change that affects in-app sounds. 10 years from now, someone will contact BlueRail and complain that their iPhone 30 is having problems with in-app sounds (because of a change Apple made somewhere down the line).

Its one thing to ask your highly-skilled programmer friends to spend thousands of unpaid hours developing a cool train technology so hobbyists can enjoy it; its another to ask that friend to support app updates for the rest of their life. Another example, at the end of 2019 the sound code library used in the BlueRail Android app changed its license from free to a pay model. To prevent Android users from being disappointed, BlueRail paid (out of pocket) a contractor Android programmer to make changes to the app.

If we turn on in-app sounds for the BlueRailDCC boards, users will want that sound to run forever. If the sounds stop working in 10 years, they will want the BlueRail programmers to come out of retirement and promptly fix the problem, on a project that the programmers donated thousands of free hours to develop.

Instead, we have modified our protocol so we can control DCC sound decoders, which are available in a wide variety of prices and qualities. Users have the option of spending as much (or little) as they want on a sound solution, and if they don’t want to spend a penny, the board is also capable of operating without a sound decoder.

I understand some people will be upset that we have made this decision. There will be negative comments posted. I very much hope those people will read this article, and better understand our position. And we hope many people enjoy the technology we have spent all these hours developing for many years to come.


What are CVs & Functions in DCC?

Category : Articles

The DCC standard in model trains was established in the early 1990’s by the NMRA as basic standards for controlling model trains. Because this standard was established prior to major innovations in computers, the internet and wireless technologies, some aspects of DCC seem dated to the modern observer (particularly the method of communication between the loco and the controller). The aspects we are focusing on in this article (Functions and CVs) are as relevant and useful today as they were 25 years ago. This article is intended to serve as a primer to a basic understanding of what Functions and CVs are (and why they may confuse some users). We hope the article sheds a little light on the mystery.

FUNCTIONS

FUNCTONS (“Fcn” or “F”): Functions are features that your decoder is capable of which can be triggered by the press of a button. Simple examples of features are blowing the airhorn, ringing the bell, or turning the headlight on and off. Most modern decoders support 28 functions (although some support more).

SOURCE OF CONFUSION 1: The NMRA DCC standard is “loose” and “flexible” in that it allows different decoder companies to use Functions and CVs differently. So although almost all decoders agree that F(0) is the headlight, F(1) is the bell, F(2) is the long airhorn and F(3) is the short airhorn, the remaining 25 functions may vary from manufacturer to manufacturer. This “feature” of “flexibility” has allowed decoder manufacturers to innovate, but it has also muddied the perception among users about understanding functions.

Here are the standard FUNCTION defaults for some popular decoders:

SOURCE OF CONFUSION 2: Another thing that can be confusing about functions is that most decoders allow you to “Remap” function buttons. Although F(1) is usually the function for triggering the bell, your decoder may allow you to “Remap” F(1) and associate F(1) with playing the airhorn (or muting the sound in your decoder altogether). This feature can be beneficial for many things, but it also introduces a bit of confusion that functions “can be anything you want them to be”.

Because the DCC standard of functions are “flexible” and can be “remapped”, the typical handheld cab controller for DCC looks more like a calculator that a train controller.

SOURCE OF CONFUSION 3: Most decoders have additional colored wires that can be used to power additional lights (or other functionality). These wires are often called “FX”. FX1 is the headlight, FX2 is the backup light. If your decoder has more than 2 of the wires, the are referred to as FX3, FX4, FX5, FX6 etc. You may use Functions to trigger these lights. On SoundTraxx decoders, by default you can use Function(23) to trigger FX3. You can see the possible confusion in having F(23) trigger FX3: too many capital F’s. (Also many people use the abbreviation FXN for the word “function” – an unfortunate obfuscation).

Functions in DCC have 2 states: “on” and “off”. The first time you press the “Bell” button on a DCC cab controller, the controller sends and F(1)-ON command to the train (and the bell starts ringing). The next time you press the “Bell” button, the controller sends on F(1)-OFF command to the decoder (and the bell sound turns off). So the function buttons alternate the command being sent (on/off) and the function can be toggled on and off. This is how most functions operate in DCC. This takes us to…

SOURCE OF CONFUSION 4: The long airhorn (which is typically associated with F2 ) turns “on” the moment you press it and “off” the moment you release it. The short airhorn (F3) plays a short airhorn blast every time you press the button (so there is no concept of “toggling” the short airhorn on and off).

So although functions in general can be toggled on and off, our 3 favorite sounds (bell, long airhorn, short airhorn) each behave slightly differently.

This can be taken a step further with more complicated features. Many modern decoders offer “Dynamic Brakes” as a function. Dynamic brakes (in the real world) are applied in several steps. On some modern decoders you will press F4 (or F5) to trigger the Dynamic Brakes, and each time you press F4 you will get a different phase of Dynamic Brakes (1,2,3,4) before finally cycling back to Dynamic Brakes being “off”.

As you can see, functions in DCC can be a very simple concept (like triggering your horn or turning the bell sound on and off), but some aspects are confusing.

Functions in BlueRailDCC

In BlueRailDCC you trigger functions in your train by sliding out the function panel. This panel has 28 function buttons in 2 rows: 1-14 and 15-28. When you first connect to a train, the app will ask you to choose which decoder type you are using (SoundTraxx, TCS, ESU etc). If you have selected one of these popular decoders, the default function names will be listed on the buttons. The Function 1 button will say “Bell” on it. If you are using a decoder not listed, you can choose the default “128 CVs”, in which case the buttons will be labeled F1 – F28. If you slide the function panel further out, you can rename any function button and choose whether you want the button to “toggle” or “press-release”.

If you are using the BlueRailDCC without a decoder, the function panel will be empty (as there are no sound features to trigger).

CVs

Confusion about Functions pales in comparison to confusion about CVs. CVs are “configuration variables” which are a table of settings to customize features of your decoder. The CV table in your decoder resembles a 2 column spreadsheet with the CV number in the left column and the CV value in the right column. The “value” of the CV can generally be any value between 0 and 255 (although some CVs use a more limited range). The CV table contains 1024 rows.

As a typical example CV3 is used to control the acceleration rate of your loco. If you set CV3 to “0” your loco will take off as quickly as it can. If you set CV3 to a higher number (255 or below) then the train will behave as if it is pulling a heavy load and take off slowly.

Your decoder manufacturer will offer a userguide containing the CV table for your decoder. Some examples of typical things you may want to adjust in your loco using CVs include:

  • acceleration/deceleration
  • master volume level
  • select preferred horn, bell, engine sounds
  • control volume level and reverb of individual sounds

Generally these are things you will tinker with once and never access again in your decoder. It is not uncommon for a modern decoder to have 200-300 controllable settings. This sounds pretty straight forward – so why do people consider CVs complicated? Does BlueRailDCC makes this easier? (yes)

SOURCE OF CONFUSION 1: The NMRA DCC standard is “loose” and “flexible” in that it allows different decoder companies to use CVs differently. A general list of the NMRA CV list can be found here:
https://www.nmra.org/sites/default/files/standards/sandrp/pdf/s-9.2.2_decoder_cvs_2012.07.pdf

CVs 1-46 and 65-112 are fairly uniform, but beyond that CV usage varies from decoder manufacturer to decoder manufacturer. Every decoder has a userguide which details the CV table for your decoder. To control the master volume on a SoundTraxx decoder you adjust CV128. On an ESU decoder master volume is CV63. Refer to your decoder userguide for specifics.

This is simplified in BlueRailDCC. Once you have selected your decoder type (SoundTraxx, ESU, TCS etc) the CV Settings page will display the appropriate table for your decoder. To access this from the train control screen (throttle) select the “settings cog” in the lower right. Then choose “CV settings” from the settings page.

With this much information, you should be able to use the BlueRailDCC app to run your train, trigger functions, and edit CVs. If you’d like to learn more about why CVs may be confusing and why BlueRailDCC makes life a little easier, read on…

SOURCE OF CONFUSION 2: The original DCC spec only allowed for 256 CVs, so adjustments needed to be made to accommodate more CVs. To allow for more CVs, DCC added the concept of “pages” (page1, page2, page3).

CVs 1-256 are reserved for the original CVs. This leaves CVs 257-1024 for each page of additional CVs. As an example, page1 CV257 is often written as 1.257. Page 1, 2 and 3 look like this:

  • page1 (257-1024) or 1.257-1.1024
  • page2 (257-1024) or 2.257-2.1024
  • page3 (257-1024) or 3.257-3.1024

Your decoder userguide will show these CV pages (if applicable) for your decoder.

As a bonus point of confusion, in order to change the values of a CV on any page (1,2,3, etc), DCC requires you to enter the page number into CV32 (1,2,3) as a first step. So to change the value of CV 1.257 to 99 you would set CV32 to “1” followed by setting CV257 to “99”.

When editing CVs 1-256 the “page number” will be ignored.

All issues regarding pages (and CV 32) is automatically handled in BlueRailDCC.

SOURCE OF CONFUSION 3: In the DCC standard, you are generally able to change (or “Write”) the value of any CV while the train is running on the rails, but if you want to “Read” the value of a CV, you need to remove the loco from the “main” and put it on a “programming track” where the decoder can be interrogated in “service mode”. This programming track operates on lower voltage, and you can only have one loco on the programming track at anytime. The decoder is not capable of explicitly telling you the value of any CV; instead the decoder can only make a single voltage pulse (known as an acknowledgment or “ack”) to answer “yes” to any question you ask it. As you know, CVs can have values up to 255 – which is 8 bits of information – like 10101010. It requires 8 “yes or no” questions (and 8 acknowledgments) to learn the value of any CV. This entire transaction can take 1-2 seconds to learn the value of 1 CV. As you can see, CV reads are relatively slow, and cannot be performed while the train is running.

BlueRailDCC simplifies this, in that the programming track is built into the board, so you don’t need to worry about having a programming track. The moment you try to read the value of any CV (in the CV settings page) your decoder will go into service mode, during which it cannot move or make sound – so you will probably want to have your train stopped when reading CVs.

You can “write” CVs while the train is moving – so you can change the master volume of the decoder by sliding the value of CV128 (Soundtraxx) or CV63 (ESU) while the train is running. But if you want to ask a decoder (ie “read”) the value of CV128 you will need to stop the train (or it will stop itself).

In BlueRailDCC you can read the value of any CV at anytime. The app also has a “Read All CVs” button. If you are using a modern recent decoder by SoundTraxx, TCS or ESU, we have pre-populated the CV pages with the common default values. So if your decoder is new (or has been factory reset) you may not need to read CVs at all – simply use the defaults in the “CV settings” page.

To “Read All CVs” in BlueRailDCC, open any CV section (ie CVs1-128) and press the “Read All CVs” button. The app will run through each CV in order and read each CV. This will take 1-2 seconds per CV, so this might be a 5 minute process in some cases.

Once the CV values have been loaded into the app (or if you are using the default values within the app) you generally won’t need to mess with “CV reads” any more.

NOTES ON TCS

Recent TCS decoders have a different approach to CVs. Instead of laying the CV settings out into Page1, Page2 and Page3 etc, TCS has 4 CVs which you edit in a particular order. So TCS does not have a master volume CV. All volume is managed using the 4 CV procedure. We have placed those 4 CVs at the top of the CV editing page for convenience within the BlueRail app (if you have selected TCS as your decoder type).

TCS also offers a “voice assistant” in recent decoders. To exit voice assistant you must press F(0). In BlueRailDCC use the headlight button for F(0) exit.

For more information on BlueRailDCC explore this website or consult the BlueRailDCC Userguide.


Turning off Back-EMF in BlueRail and EZ App

Category : Articles

Back-EMF is a method using in model train circuitry to help your locomotive maintain speed and compensate for load differences from resistance encountered as it travels up and down inclines and pulls cars about your layout. For the most part, back-EMF is a valuable and essential part of smooth train operation. It helps your train manage its speed to match your throttle level. But there are times when you may want to turn back-EMF off.

Some people use BlueRail boards to power the rails of a conventional DC train set. If you plan on using multiple BlueRail boards to control different blocks on your layout, you will need to turn off back-EMF in each board. This is accomplished by going into the “Settings” screen in the app for each board, and toggling on the “Advanced Tuning” panel. Then, using the “Tuning Fork” button (now accessible in the Train Control screen) set the following three settings to a value of “0”: Proportional, Integral, and Differential. With all 3 PID values set to “0” back-EMF will be turned off. If you do not turn back-EMF off, you may find that your locos slow down briefly as they enter each new block.


Why is shipping batteries overseas an issue?

Category : Articles

One might wonder why shipping batteries between countries has become such an issue. Recent incidences involving batteries (fires and explosions) have resulted in restrictions in the international shipping of batteries. Batteries for running model trains are fairly small and less hazardous, but are still subject to shipping restrictions. The shipping of individual batteries (not directly connected to the product intended for use) are heavily restricted, so like most other merchants, BlueRail is unable to ship individual Li-PO batteries internationally.

Under strict guidelines, a battery may be shipped internationally IF it is safely connected to the product intended for use. So products (like the BlueRail DeadRail kit) which contain a rechargeable battery can be shipped internationally, understanding that it will be categorized as “dangerous goods” and subject to customs inspection (and possible associated delays).

In order to provide good customer service, a merchant who sells a battery-operated product should be prepared to ship a replacement battery (should that ever be required in the future). Unfortunately, the shipment of individual batteries is not possible (through standard post). For this reason, most merchants (including BlueRail) are hesitant to send battery products through the mail between countries (understanding that they may get bogged down in customs, and/or potentially result in poor customer service experiences should replacement batteries ever be needed).

Battery-powered model train control products (like BlueRail) are popular in the US, Canada, UK, EU, Australia and New Zealand. The best solution for DeadRail hobbyists (outside the US) is to find a local source of rechargeable batteries in your area (to avoid international battery shipping issues). BlueRail sells Battery-Power boards (without batteries) to all the regions listed, to which you may connect any appropriate battery. Please consider all safety and quality issues when choosing a rechargeable battery for your train control needs.

Rechargeable Battery Source US:


Controlling Kadee® Servo Controllers with a BlueRail board

Category : Articles , Videos




This video demonstrates how to control a Kadee® Servo Controller with a BlueRail board to operate a large scale Kadee coupler with battery power. The BlueRail board can control up to 4 Kadee® Servo Controllers. Kadee® Servo Controllers can control Kadee® RC Remote Couplers (factory programmed), turnouts, crossing gates, semaphores, windmills, water wheels, gondolas, trams, roundabouts, cranes, & drawbridges. Below is a diagram depicting how to make the connection. Click image to download PDF.

Controlling Kadee® Servo Controllers with a BlueRail board
http://bluerailtrains.com/docs/Kadee_Servo_Control_with_BlueRail_Board.pdf


BlueRail board installation guide

Category : Articles

The BlueRail trains board is very easy to install. The board accepts a standard 9-pin JST wiring harness, which contains 9 wires color coded to the NMRA standard:

RED Track Power +
BLACK Track Power –
ORANGE Motor +
GREY Motor –
BLUE Common 12v +
WHITE Headlight –
YELLOW RearHeadlight –
GREEN Light3 –
PURPLE Light4 –

If your locomotive is DCC-Ready (and has an 8-pin socket on it), simply plug the 8-pin side of the wiring harness into your train. Orient the 8-pin connector so the RED wire is near the number 8 (or triangle) marked on the circuit board. If you have the 8-pin connector in the wrong orientation, the train will run in the wrong direction.

This board anticipates low voltage LED lights (20 mA) on your locomotive and does not require resistors.

If your locomotive is not DCC-Ready, snip off the 8-pin connector on the harness and connect the colored wires as indicated in the table above and the diagram below. If you are utilizing a battery, it may be connected as indicated in the diagram.



Batteries may alternately be connected to the Red/Black wires on the 9 pin harness (if you are sure you will not be using track power as well). THIS ARTICLE shows alternate ways you can wire up a battery.

If you are wiring a Bachmann Thomas train, the motor leads are usually Yellow and Brown. If you are wiring a Bachmann locomotime, HERE IS A TABLE with the letter codes commonly stamped on the circuit boards.

For more information on the board, please refer to the Our First Board article and the UserGuide, as well as the Articles and Videos links above.


Does your Smart Device support Bluetooth 4?

Category : Articles

This product uses Bluetooth Low Energy. Your smart device must support Bluetooth 4.0 (or newer).

Apple Logo

List of iOS devices that support Bluetooth 4

iPhone iPad iPod
iPhone 4s
iPhone 5
iPhone 5c
iPhone 5s
iPhone 6
iPhone 6 Plus
iPhone 6s
iPhone 6s Plus
iPhone 7
iPhone 7 Plus
or newer
iPad, 3rd generation
iPad, 4th generation
iPad (2017)
iPad mini
iPad mini 2
iPad mini 3
iPad mini 4
iPad Air
iPad Air 2
iPad Pro
or newer
iPod Touch (5th generation)
iPod Touch (6th generation)
or newer

Android ogo
Android devices must have Android version 4.3 or newer to support Bluetooth Low Energy.

It is important that your Android is updated to the latest Android software to operate BlueRail.

The general method for updating your Android software is:

Settings >> General (scroll down) >> About Device >> Software Update

Most devices provide a back-up method (which is recommended prior to performing updates).

CLICK HERE for more information about updating your specific device.

The vast majority of Android devices that meet the minimum requirements and can download the free BlueRail app will support all aspects. However, due to the huge number of different Android models (>5000 models) and manufacturing standards, issues may be encountered on some devices.

Android 6 (Marshmallow) is compatible with BlueRail. However, due to changes in Bluetooth permissions with Android 6, the app may not be able to detect the BlueRail trains properly. To resolve this issue, go to Settings in the OS–> Location and turn on location services. Your BlueRail trains will now be detected properly in the app. This may require a wi-fi or cellular connection on certain devices.

If your Android is updated to the latest version available (Android 4.3 or newer) and you are still having an issue connecting to trains, please read this article on Bluetooth Connection Issues.


BlueRail for O scalers

Category : Articles

O Scale BlueRailBlueRail smartphone control for trains is a perfect fit for O scale. The BlueRail board is perfectly sized to fit most O scale locomotives, and with 2 amps of current they are a perfect match for many locos. If your O loco has DC can motors (isolated) and uses 2 AMPS or less then your loco is a good candidate for a BlueRail board.

The BlueRail board runs on DC or DCC power (from the track or battery). If you require AC track power, an AC-DC converter can easily be built from parts as described in this article.

The board controls motor and up to 4 LED lights from over 100 ft. Considering there is no system to buy (other than owning a smartphone or tablet) and that it can be run on any powered track (or non-powered) a BlueRail board is one of the most affordable train control solutions available. Discounts are available on volume orders (2,5,10). BlueRail is extremely popular for use with onboard battery.

The BlueRail board is very easy to install using a standard 9-pin JST with standard NMRA colored wires (sold separately). Here is a wiring diagram.


BlueRailBoard1BUY BLUERAIL BOARD NOW


Sounds (which play inside the smart device) can also be played through a mini bluetooth speaker on the loco, making for very affordable onboard sound (as described in this article). This first BlueRail board does not trigger DCC sound decoders.

BlueRail's first Bluetooth board (2012) powering an O gauge Lionel.

BlueRail’s first Bluetooth board (2012) powering an O gauge Lionel.

Perhaps the biggest appeal in using BlueRail is a the well developed software control app (free in iOS and Android). This system is compatible with Bachmann E-Z App® and enjoys the benefit of thousands of users and hundreds of hours of software development, setting it apart from all other available wireless train control systems. The app updates as new features are added. Wireless firmware updates easily and safely update the board in the loco as needed.

If you are an O scale hobbyist, you should consider BlueRail as your train control system. Please purchase boards directly from our online store. If you are a club interested in group rates or have any questions please email us .


O Scale BlueRail Check List

checkmarkDoes loco contain DC can motor?

checkmarkIs motor isolated from the frame?

checkmarkDoes loco draw 2 amps or less?

checkmarkAre you good with DC, DCC or battery power?
(if AC required, consider adding an AC-DC converter)

checkmarkDoes loco contain LED lights?
(if not, consider switching bulbs to LEDs)

checkmarkDoes your smart device (phone/table) support Bluetooth 4?
(Please read this Article)


Most frequently asked O Scale question:

Q: “Will it work with my American Flyer/Lionel?”

A: There are many variations of American Flyer/Lionel locos. If it passes the 5 check points above, you should be good.


Is the BlueRail board right for you?

Category : Articles

Here is a handy checklist to go through to make sure the BlueRail board is sufficent for your loco.


checkmarkSIZE (will it fit)?
The BlueRail board is 58.6mm x 28mm. Use this printable PDF to print out a copy of the board and verify it will fit:

checkmarkCURRENT DRAW
If your loco has 2 AMPs or less maximum current draw it is probably a good candidate for this board (1.2 AMPs continuous). Related references:
* Large Scale Decision Chart
* Overload Protection diagram
* Article about using board in larger gauges
* Article about measuring max current draw

checkmarkMOTOR ISOLATED
If you are not sure if your motor is electrically isolated from the chassis, please refer to this article

checkmarkLED LIGHTING
The BlueRail board supports LED lights. If your loco has full voltage incandescent lights, consider switching them to LED. When wiring LED lights be aware that the polarity of the wire leads must be correct.

checkmarkDC, DCC OR BATTERY POWER
The BlueRail board will not work with AC power. If you wish to use the board on an AC powered track, consider adding an AC-DC converter as described in this article.

checkmark9 PIN JST HARNESS
The BlueRail board requires a standard 9-pin JST harness. If you do not have one, we have them available in our online store.

checkmarkSMART DEVICE MUST SUPPORT BLUETOOTH 4
Does your smart device (phone/table) support Bluetooth 4? (Please read this Article)

Here is a Datasheet on the BlueRail board with diagrams how to wire it up.

Here is an article on Optional ways to wire a battery to a BlueRail board


S Scale is the Perfect Scale for BlueRail

Category : Articles

SScaleBlueRailYou may have heard that “S” is the perfect scale – it is also the perfect scale for BlueRail. The BlueRail board is perfectly sized to fit most S scale locomotives, and with 2 amps of current they are a perfect match. If your S loco has DC can motors (isolated) then your loco is a good candidate for a BlueRail board.

The BlueRail board runs on DC or DCC power (from the track or battery). If you require AC track power, an AC-DC converter can easily be built from parts as described in this article.

The board controls motor and up to 4 LED lights from over 100 ft.  Considering there is no system to buy (other than owning a smartphone or tablet) a BlueRail board is one of the most affordable train control solutions available. Discounts are available on volume orders (2,5,10). BlueRail is extremely popular for use with onboard battery.

The BlueRail board is very easy to install using a standard 9-pin JST with standard NMRA colored wires (sold separately). Here is a wiring diagram.

Sounds (which play inside the smart device) can also be played through a mini bluetooth speaker on the loco, making for very affordable onboard sound (as described in this article).

Perhaps the biggest appeal in using BlueRail is a the well developed software control app (free in iOS and Android). This system is compatible with Bachmann E-Z App® and enjoys the benefit of thousands of users and hundreds of hours of software development, setting it apart from all other available wireless train control systems.

If you are an S scale hobbyist, you should consider BlueRail as your train control system. Please purchase boards directly from our online store. If you are a club interested in group rates or have any questions please email us .


S Scale BlueRail Check List

checkmarkDoes loco contain DC can motor?

checkmarkIs motor isolated from the frame?

checkmarkDoes loco draw 2 amps or less?

checkmarkAre you good with DC, DCC or battery power?
(if AC required, consider adding an AC-DC converter)

checkmarkDoes loco contain LED lights?
(if not, consider switching bulbs to LEDs)

checkmarkDoes your smart device (phone/table) support Bluetooth 4?
(Please read this Article)


It’s true that S Scale is the perfect scale for BlueRail.

Most frequently asked S Scale question:

Q: “Will it work with my American Flyer?”

A: There are many variations of American Flyer locos. If it passes the 5 check points above, you should be good.