2 and 3 functions, 1 trigger (need to be test)