added pause, restart, reset, and signal trapping