add pause/resume methods