Trigger implement (BUG exist)