added trigger models and changed trigger system. NOT UNIT TESTED