progess implementations