 
 	subscribe: (user, callback = () ->)->
 		options = buildOptions(user, true)
-		logger.log options:options, user:user, email:user.email, "trying to subscribe user to the mailing list"
+		logger.log options:options, user:user, email:user.email, "subscribing user to the mailing list"
 		mailchimp.request options, (err)->
 			if err?
-				logger.err err:err, "error subscribing person to newsletter"
+				logger.err err:err, user:user, "error subscribing person to newsletter"
 			else
 				logger.log user:user, "finished subscribing user to the newsletter"
 			callback(err)

		options = buildOptions(user, false)
		mailchimp.request options, (err)->
			if err?
				logger.err err:err, "error unsubscribing person to newsletter"
			else
				logger.log user:user, "finished unsubscribing user to the newsletter"
			callback(err)

	crypto.createHash('md5').update(email.toLowerCase()).digest("hex")

buildOptions = (user, is_subscribed)->
	subscriber_hash = hashEmail(user.email)
	opts =
		method: "PUT"
		path: "/lists/#{Settings.mailchimp?.list_id}/members/#{subscriber_hash}"
		body:
			email_address:user.email
				
	status = if is_subscribed then "subscribed" else "unsubscribed"
	if is_subscribed?
		opts.body.status = status
		opts.body.status_if_new = status

	if user._id?
		opts.body.merge_fields = 
			FNAME: user.first_name
			LNAME: user.last_name
			MONGO_ID:user._id

	console.log opts
	return opts

