implemented custom progress bar