improved trigger