in fact, zero is a method that is sometimes overridden with val.