implement pause functions