add notifications functionality
refactor to improve efficiency / retain model reference throughout