basic implementation of setProgress