adding in progess functionality