extracted observer notifications into seperate methods