implemented progress monitor