* removed unused increments
* unfavorite only if already favorited
* added some exception handling