implement progress spinner and bar