Behavior-based and Contextual Location Recommendation for Location Based Social Networks