adjusted so that join() calls addDigit()