donate functionality added
manual merge