refactor to generic start/stop blocks