implemented contact online status changes

also did some other stuff