refactoring, altered data manipulation, added callbacks and triggers, inserted temporary function overloading