support variable precision
support changing progress bar char