Broke out into separate files
Optimized triggers